package compi;

import java.util.Vector;

public class CodInt 
{
	private Vector<String> vector;
	private int sigInst;
	private String inst;

	public CodInt() 
	{
		vector = new Vector<String>();
		sigInst = 0;
	}

	public void addInst(String ins) 
	{

		vector.addElement(sigInst + ": " + ins);
		sigInst++;

	}

	public void completarInst(Vector<Object> listaReferencias, int referencia) 
	{

		int i;
		String n_inst;

		while ((listaReferencias.size() != 0)) 
		{
			// Obtener instruccion
			i = (Integer)listaReferencias.firstElement();
			inst = (String) vector.elementAt(i);
			
			// Completar instruccion
			n_inst = inst + referencia + ";";

			// Guardar instruccion
			vector.removeElementAt(i);
			vector.insertElementAt(n_inst, i);
			listaReferencias.removeElementAt(0);
		}

	}


	public void completarInstruccion(int ref_goto, int referencia) 
	{
		String n_inst;

		// Obtener instruccion
		inst = (String) vector.elementAt(ref_goto);
		
		// Completar instruccion
		n_inst = inst + referencia + ";";
		
		// Guardar instruccion
		vector.removeElementAt(ref_goto);
		vector.insertElementAt(n_inst, ref_goto);
	}

	final public int getRefCodigo() 
	{
		return sigInst;
	}

	public Vector<String> getCodigo() 
	{
		return vector;
	}

}
